#ifndef		SETUP_HEADER
#define		SETUP_HEADER

#if defined ( _WIN32 ) || defined ( __WIN32__ ) || defined ( WIN32 )
#	ifndef		WINDOWS
#		define	WINDOWS
#	endif
#elif defined ( linux ) || defined ( __linux )
#	ifndef		LINUX
#		define	LINUX
#	endif
#elif defined ( __APPLE__ ) || defined ( MACOSX ) || defined ( macintosh ) || defined ( Macintosh )
#	ifndef		MACOS
#		define	MACOS
#	endif
#elif defined ( __FreeBSD__ ) || defined ( __FreeBSD_kernel__ )
#	ifndef		FREEBSD
#		define	FREEBSD
#	endif
#endif

#if defined ( _MSC_VER ) && ( _MSC_VER >= 1020 )
#	define	inline				__forceinline
#	pragma	inline_depth		( 255 )
#	pragma	inline_recursion	( on )
#	pragma	auto_inline			( on )
#endif

#ifdef		WINDOWS
#	define	EXPORT				__declspec ( dllexport )
#	ifndef		WIN32_LEAN_AND_MEAN
#		define	WIN32_LEAN_AND_MEAN
#	endif
#else
#	define	EXPORT
#endif


typedef signed					char	S8;
typedef unsigned				char	U8;
typedef signed		short		int		S16;
typedef unsigned	short		int		U16;
typedef signed		long		int		S32;
typedef unsigned	long		int		U32;
typedef signed		long long	int		S64;
typedef unsigned	long long	int		U64;

#endif
